package Work.com;

import java.util.Scanner;

public class Exam02 {
    //编写一个函数，接受一个包含括号字符的字符串，判断括号是否匹配有效。
    public static boolean isValid2(String str) {
        char[] chars = new char[str.length()]; // ( ( '('
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c == '(' || c == '{' || c == '[') {
                chars[count++] = c;
            } else if (c == ')' || c == ']' || c == '}') {
                if (count == 0) {
                    return false;
                }
                if (chars[count - 1] == '(' ||chars[count - 1] == '{' || chars[count - 1] == '[' ) {
                    chars[--count] =' ';
                }
            }
        }
        return count == 0;
    }
        // 匹配正确的一对 替换成空字符串
//        if (str == null) {
//            return false;
//        }
//        if (str.isBlank() || str.isEmpty()) {
//            return true;
//        }
//        str = str.replace(" ", "");
//        while (str.contains("()") || str.contains("[]") ||
//        4str.contains("{}")) {
//            str = str.replaceAll("\\(\\)", "");
//            str = str.replaceAll("\\[\\]", "");
//            str = str.replaceAll("\\{\\}", "");
//        }
//        return str.isEmpty() || str.isBlank();
//    }
//

    public static void main (String[]args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串：");
        String str = sc.next();
        boolean isValid = isValid2(str);
        if (isValid) {
            System.out.println(str + "是有效字符串");
        } else {
            System.out.println(str + "不是有效字符串");
        }
    }
}
